home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1986 April / Ahoy_Magazine_86-04_1986_Double_L.d64 / hidden cavern (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  10KB  |  229 lines

  1. 10 rem    hidden cavern
  2. 12 rem    by james c.hilty
  3. 14 poke52,48:poke56,48
  4. 16 print"[147]":poke53281,15:poke53280,0
  5. 20 rem    title screen
  6. 22 print:printtab(4)"[144] [146]  [146]   [146]    [223][146]    [223][146]     [146]  [223][146]  "
  7. 24 printtab(4)"[144]  [144]  [146] [144]  [146] [144]   [223][146] [144]   [223][146] [144]    [146] [144] [223][144]  "
  8. 26 printtab(4)"[144]  [144]  [146] [144]  [146] [144]    [146] [144]    [146] [144]  [146]   [144]  [144]  "
  9. 28 printtab(4)"[144]  [144]  [146] [144]  [146] [144]  [144]  [146] [144]  [144]  [146] [144]  [144] [146]  [144]    "
  10. 30 printtab(4)"[144]    [146] [144]  [146] [144]  [144]  [146] [144]  [144]  [146] [144]   [146]  [144]    "
  11. 32 printtab(4)"[144]  [144]  [146] [144]  [146] [144]  [144]  [146] [144]  [144]  [146] [144]  [146]   [144]    "
  12. 34 printtab(4)"[144]  [144]  [146] [144]  [146] [144]    [146] [144]    [146] [144]  [144] [146]  [144]  [146][223] "
  13. 36 printtab(5)" [146]  [146]   [146]    [146][169]    [146][169]     [146]   [146] [223]"
  14. 38 print:print
  15. 40 printtab(6)"   [146]    [146]    [146]  [146]     [146]     [146]  [223][146]  "
  16. 42 printtab(6)" [144]   [146] [169] [223][146]   [144]  [144] [146]  [144]   [146]  [144]  [144] [146]  [223] [144] "
  17. 44 printtab(6)" [144] [146]    [144][169] [144][223][146]  [144]  [144] [146]  [144] [146]      [144] [146]    [144] "
  18. 46 printtab(6)" [144] [146]      [144] [146]  [144]  [144] [146]   [146]     [144]  [146]    [144] "
  19. 48 printtab(6)" [144] [146]    [144]  [144] [146]  [144]  [144] [146]  [144]  [146]     [146]     [144] "
  20. 52 printtab(6)"   [146]   [144]  [144] [146]   [144] [146][169]    [146]   [144]  [144] [146]  [144] [146][223][144] "
  21. 54 printtab(7)"[144]   [146]   [146]  [146]    [146]      [146]   [146]  [146]   [146] [223]"
  22. 56 print:printtab(9)"land of the cave globs"
  23. 60 forl=54272to54295:pokel,0:next:poke54296,15:poke54277,8:poke54278,255
  24. 62 poke54276,21:f1=2:forz=1to28:f2=80:poke54273,f1:fory=1to5:poke54287,f2
  25. 64 f2=f2/0.9:nexty:f1=f1+9:nextz:poke54278,15
  26. 66 printtab(6)"please wait....reading data"
  27. 68 rem    read sprite shape data
  28. 70 forx=12288to12350:reada:pokex,a:next
  29. 72 forx=12352to12414:reada:pokex,a:next
  30. 74 forx=12416to12478:reada:pokex,a:next
  31. 76 forx=12480to12542:reada:pokex,a:next
  32. 78 forx=12544to12606:reada:pokex,a:next
  33. 80 forx=12608to12670:reada:pokex,a:next
  34. 82 forx=12672to12734:reada:pokex,a:next
  35. 84 forx=12736to12798:reada:pokex,a:next
  36. 86 forx=12800to12862:reada:pokex,a:next
  37. 88 rem    read scroll data
  38. 90 forx=49152to49528:reada:pokex,a:next
  39. 92 rem    read sprite motion routine
  40. 94 forx=50880to51116:reada:pokex,a:next
  41. 96 v=53248
  42. 97 hs=0
  43. 98 rem    set up playing screen
  44. 99 sc=0:m=0:sh=3
  45. 100 poke53280,0:poke53281,0:print"[147][159][185][185][185][185][185][185][185] [185][185][185][185][185][185][185]  [185][185][185][185][185][185][185][185]      [185][185][185][185][185][185][185][185]"
  46. 102 print"[181]score[182] [181]ships[182]  [181]hidden[182]      [181]misses[182]"
  47. 104 print"[184][184][184][184][184][184][184] [184][184][184][184][184][184][184]  [181]cavern[182]      [184][184][184][184][184][184][184][184]"
  48. 106 printtab(17)"[184][184][184][184][184][184][184][184]"
  49. 108 print"                                       "
  50. 110 printtab(2)"   [146]         [146]        [146]     [146]     [146]      "
  51. 112 printtab(2)"   [146]       [146]         [146]     [146]     [146]       "
  52. 114 printtab(3)" [146]       [146]          [146]     [146]     [146]       "
  53. 116 printtab(3)" [146]       [146][146]          [146]    [161]    [161]       "
  54. 118 printtab(3)" [146]      [161]          [146]         [161]       "
  55. 120 printtab(3)"[161]      [161]         [146]          [180]       "
  56. 122 printtab(3)"[161]                [146]                 [182]"
  57. 124 printtab(3)"[161]                [146]                 [182]"
  58. 126 printtab(3)"[161]                [146]                 [182]"
  59. 128 printtab(19)"[180]"
  60. 130 print:printtab(11)"[181]                    [182]"
  61. 132 printtab(11)"[181]                    [182]"
  62. 134 printtab(2)"[161]         [146]            [161]       [182] "
  63. 136 printtab(2)"[161]         [146]             [146]        "
  64. 138 printtab(2)" [146]          [146]            [146]        "
  65. 140 printtab(2)" [146]          [146]            [146]        "
  66. 142 printtab(2)" [146]           [146]            [146]       "
  67. 144 print"                                       "
  68. 146 poke49522,2:poke49523,0:poke49524,38:poke49525,5:poke49526,22
  69. 148 pokev+39,3:pokev+40,10:pokev+41,13:pokev+42,13:pokev+43,13:pokev+44,13
  70. 150 pokev+45,7:pokev+46,1
  71. 152 poke2040,192:poke2041,192:poke2042,196:poke2043,196
  72. 154 poke2044,197:poke2045,197:poke2046,198:poke2047,199
  73. 155 pokev+29,60:pokev+23,60
  74. 156 pokev+0,40:pokev+1,154:pokev+2,50:pokev+3,220
  75. 158 pokev+4,40:pokev+5,82:pokev+6,200:pokev+7,82
  76. 160 pokev+8,46:pokev+9,196:pokev+10,230:pokev+11,196
  77. 162 pokev+14,246:pokev+15,161
  78. 164 pokev+27,63:pokev+21,191
  79. 166 poke50433,2:poke50434,254:poke50435,1:poke50436,3
  80. 168 poke50437,4:poke50438,0:poke50439,4:poke50440,0
  81. 170 poke50441,4:poke50442,0:poke50443,4:poke50444,0
  82. 172 poke50445,0:poke50446,0:poke50447,0:poke50448,0
  83. 175 print" "sc"     "sh:print""tab(33)m
  84. 176 forl=54272to54295:pokel,0:next
  85. 177 poke54287,15:poke54284,160:poke54285,252
  86. 178 poke54280,80:poke54279,40:poke54283,129
  87. 180 w1=peek(v+30):w2=peek(v+31)
  88. 190 poke50432,255:sys51104
  89. 199 rem    main loop
  90. 200 jy=peek(56321)and15
  91. 204 ifjy=13thenpoke50448,1:poke50688,128
  92. 208 ifjy=14thenpoke50448,255:poke50688,128
  93. 210 fb=-((peek(56321)and16)=0):iffb=1then300
  94. 211 sys49152
  95. 212 w1=peek(v+30):ifw1>128then350
  96. 214 w2=peek(v+31):ifw2>127then350
  97. 215 if sc>2500thensys49152
  98. 216 sc=sc+1:print" "sc
  99. 218 poke50448,0:poke50688,128
  100. 219 ifsc>500thensys49152
  101. 220 goto200
  102. 300 rem    fire
  103. 304 x=peek(v+14)-20:y=peek(v+15)
  104. 306 pokev+12,x:pokev+13,y:pokev+21,255
  105. 307 poke50445,255:poke50688,64:poke50432,64
  106. 310 c=peek(v+12):ifc<32then320
  107. 311 w1=peek(v+30):ifpeek(v+30)>64then330
  108. 312 goto310
  109. 320 poke50445,0:poke50688,64:poke50432,255:pokev+21,191
  110. 322 m=m+1:print""tab(33)m:ifm>2then500
  111. 323 goto200
  112. 330 rem    hit cave glob
  113. 331 q=192
  114. 332 pokev+21,191:poke50445,0:poke50688,64
  115. 334 forx=54272to54295:pokex,0:next:poke54296,15
  116. 336 poke54277,8:poke54278,255:poke54276,23:f1=202
  117. 338 forz=1to16:f2=30:q=q+1:ifq=196thenq=192
  118. 339 poke2040,q:poke2041,q
  119. 340 poke54273,f1:fory=1to10:poke54287,f2:f2=f2*1.01:nexty:f1=f1-8:nextz
  120. 344 sc=sc+250:print" "sc
  121. 346 forx=54272to54295:pokex,0:next
  122. 347 poke54287,15:poke54284,160:poke54285,252
  123. 348 poke54280,80:poke54279,40:poke54283,129
  124. 349 pokev+1,52:pokev+3,220:w1=peek(v+30):poke50432,255:goto200
  125. 350 rem    cave cruiser hit
  126. 351 poke50432,0
  127. 352 forx=54272to54295:pokex,0:next:poke54296,15:poke54277,8:poke54278,255
  128. 354 poke54276,85:f1=100:f2=230
  129. 356 forz=1to77:poke54272,f1:poke54287,f2
  130. 358 f2=f2-2:f1=f1*.99:next
  131. 360 forx=54272to54295:pokex,0:next
  132. 362 poke54287,15:poke54284,160:poke54285,252
  133. 363 poke2047,200
  134. 364 poke54280,80:poke54279,40:poke54283,129:fort=0to1000:next
  135. 366 forx=54272to54295:pokex,0:next
  136. 367 sh=sh-1:ifsh=0then500
  137. 368 pokev+21,63:fort=0to500:next:pokev+21,0:pokev+16,0:goto100
  138. 500 rem    game over-replay
  139. 501 forl=54272to54295:pokel,0:next
  140. 502 print"[147][159]":pokev+21,0
  141. 503 ifsc>hs then hs=sc
  142. 504 ifm=3thenprint""tab(8)"game over----you missed 3 shots":goto510
  143. 505 print""tab(8)"game over----you lost 3 ships"
  144. 510 print""tab(12)"s c o r e  ";sc
  145. 512 print""tab(12)"high score  ";hs
  146. 520 print""tab(12)"play  again--y or n"
  147. 522 get junk$:if junk$<>""then522
  148. 523 geta$:ifa$=""then523
  149. 524 ifa$="y"then530
  150. 526 end
  151. 530 pokev+21,0:poke50432,0:print"[147]"
  152. 535 pokev+16,0
  153. 540 goto99
  154. 999 rem    cave glob sprite data
  155. 1000 data 0,0,0,0,28,0,0,62,0,0,127,0,0,201,128,0,255,0,0,127,0,2,62,16,2,12
  156. 1002 data 16,30,12,28,3,255,240,30,14,28,0,15,16,0,31,128
  157. 1004 data 0,63,192,0,127,192,0,127,192,0,127,224,3,240,127,0,64,8,0,64,8
  158. 1006 rem    cave glob 2
  159. 1008 data 0,0,0,0,2,128,4,2,128,4,7,192,127,130,24,7,226,60,7,242,118
  160. 1010 data 3,255,247,3,255,255,3,242,118,3,226,60,3,194,24,7,130,0
  161. 1012 data 7,7,128,28,7,0,4,5,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0
  162. 1014 rem    cave glob 3
  163. 1016 data 16,2,0,16,2,0,126,15,192,7,254,0,3,254,0,3,254,0,3,252,0
  164. 1018 data 1,248,0,8,240,0,56,112,120,15,255,192,56,48,120,8,48,64
  165. 1020 data 8,124,64,0,254,0,1,255,0,1,147,0,0,254,0,0,124,0,0,56,0,0,0,0
  166. 1022 rem    cave glob 4
  167. 1024 data 0,0,0,0,0,0,0,0,0,0,0,0,0,160,0,0,160,32,0,224,56,1,224,224
  168. 1026 data 0,65,224,24,67,192,60,71,192,108,79,192,255,255,192,239,255,192
  169. 1028 data 110,79,224,60,71,224,24,65,252,3,224,32,1,64,32,1,64,0,0,0,0
  170. 1030 rem    upper stalagmite
  171. 1032 data 255,255,255,255,255,255,240,112,31,240,112,31,240,112,31,224,112,15
  172. 1034 data 224,96,15,224,96,15,224,96,15,224,0,15,224,0,15,224,0,15
  173. 1036 data 192,0,7,192,0,7,192,0,7,192,0,3,0,0,3,0,0,3,0,0,3,0,0,3,0,0,3
  174. 1038 rem    lower stalagmite
  175. 1040 data 32,0,0,32,0,0,32,0,0,96,0,6,96,0,6,96,0,6,224,0,6,224,0,6
  176. 1042 data 224,0,7,224,0,7,224,128,7,224,128,7,224,128,7,241,192,7,241,192,7
  177. 1044 data 241,192,7,241,192,7,241,192,7,241,192,7,255,255,255,255,255,255
  178. 1046 rem    torpedoe
  179. 1048 data 0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,153,0,0,90,0,0,60,0,1,255,128
  180. 1050 data 1,255,128,0,60,0,0,90,0,0,153,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  181. 1052 data 0,0,0,0,0,0
  182. 1054 rem    cave cruiser
  183. 1056 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,28,0,0,28,0,0,60,0,0,124
  184. 1058 data 0,0,252,0,1,252,3,255,255,15,255,255,63,255,252
  185. 1060 data 0,1,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  186. 1062 rem    explosion
  187. 1064 data 0,0,0,76,1,0,0,128,4,32,4,32,0,48,0,8,0,0,0,32,48,80,0,130
  188. 1066 data 3,12,0,0,0,4,32,0,128,0,36,0,0,0,192,201,0,4,0,0,0,19,32,192
  189. 1068 data 0,4,0,32,0,1,4,192,0,0,4,8,0,0,0
  190. 1070 rem    scroll data
  191. 1072 data 174,114,193,224,3,144,3,76,117,192,188,114,193,140,121,193,174
  192. 1074 data 118,193,232,202,32,30,193,172,121,193,173,119,193,201,2,208,10
  193. 1076 data 169,32,72,173,33,208,72,76,50,192,177,90,72,177,92,72,204
  194. 1078 data 116,193,240,20,200,177,90,72,177,92,136,145,92,104,145,90,200
  195. 1080 data 204,116,193,208,238,240,18,136,177,90,72,177,92,200,145,92,104
  196. 1082 data 145,90,136,204,115,193,208,238,173,119,193,201,0,208,5,104,104
  197. 1084 data 76,111,192,104,145,92,104,145,90,236,117,193,208,160,96,172,116
  198. 1086 data 193,200,189,114,193,170,32,30,193,173,120,193,201,2,208,19,136
  199. 1088 data 169,32,153,122,193,173,33,208,153,162,193,204,115,193,208,239,240
  200. 1090 data 16,136,177,90,153,122,193,177,92,153,162,193,204,115,193,208,240
  201. 1092 data 236,117,193,240,37,202,32,30,193,172,116,193,200,136,177,90,72
  202. 1094 data 177,92,32,48,193,145,92,104,145,90,32,56,193,204,115,193,208
  203. 1096 data 234,236,117,193,208,221,240,46,202,206,118,193,232,32,30,193,172
  204. 1098 data 116,193,200,136,32,48,193,177,90,72,177,92,32,56,193,145,92
  205. 1100 data 104,145,90,204,115,193,208,234,236,118,193,208,221,238,118,193,232
  206. 1102 data 32,30,193,173,120,193,201,0,240,20,172,115,193,136,200,185,162
  207. 1104 data 193,145,92,185,122,193,145,90,204,116,193,208,240,96,189,89,193
  208. 1106 data 133,91,24,105,212,133,93,189,64,193,133,90,133,92,96,72,152
  209. 1108 data 24,105,40,168,104,96,72,152,56,233,40,168,104,96,0,40,80
  210. 1110 data 120,160,200,240,24,64,104,144,184,224,8,48,88,128,168,208,248
  211. 1112 data 32,72,112,152,192,4,4,4,4,4,4,4,5,5,5,5,5
  212. 1114 data 5,6,6,6,6,6,6,6,7,7,7,7,7,3,0,4,0,4,1,1
  213. 1116 rem    sprite motion data
  214. 1118 data 169,255,45,0,198,240,16,169,0,141,0,198,162,21,189,0
  215. 1120 data 197,157,0,198,202,208,247,162,1,169,1,141,80,197,173,80
  216. 1122 data 197,45,0,197,240,3,76,243,198,232,232,14,80,197,208,238,76,49,234
  217. 1124 data 169,0,29,0,197,208,3,76,97,199,169,128,61
  218. 1126 data 0,197,240,48,254,0,198,208,40,222,255,207,76,144,199,80
  219. 1128 data 197,45,16,208,208,12,173,16,208,13,80,197,141,16,208,76
  220. 1130 data 43,199,173,16,208,77,80,197,141,16,208,189,0,197,157,0
  221. 1132 data 198,76,97,199,222,0,198,208,40,254,255,207,208,29,173,80
  222. 1134 data 197,45,16,208,208,12,173,16,208,13,80,197,141,16,208,76
  223. 1136 data 91,199,173,16,208,77,80,197,141,16,208,189,0,197,157,0
  224. 1138 data 198,169,0,232,29,0,197,208,3,76,140,199,169,128,61,0
  225. 1140 data 197,240,11,254,0,198,208,20,222,255,207,76,134,199,222,0
  226. 1142 data 198,208,9,254,255,207,189,0,197,157,0,198,202,76,233,198
  227. 1144 data 169,255,221,255,207,240,3,76,43,199,173,80,197,76,17,199
  228. 1146 data 120,169,192,141,20,3,169,198,141,21,3,88,96
  229.